草庐IT

IOS UI通知栏过渡

全部标签

java - 如何通知 PipedInputStream 线程 PipedOutputStream 线程已写入最后一个字节?

如何正确完成管道输出端的工作?我需要写入线程终止或做一些其他工作,而读取线程读取所有写入数据直到结束。我应该在写入端关闭管道还是什么?更新1我想澄清一下......根据给定的答案,我认为设计管道行为不假设任何优雅终止是否正确?即一旦打开,停止管道的唯一方法就是打破管道?当read()方法返回-1时,传统流期望流信号结束。认为管道流永远不会发生这种情况是正确的吗? 最佳答案 是的,关闭PipedOutputStream会导致PipedInputStream出现-1。我觉得很优雅!这是我的SSCCE:importjava.io.*;im

java - 等待通知和 CountDownLatch 之间的区别

我需要一些帮助来了解使用CountDownLatch相对于传统等待通知的优势。我认为notifyAll()确实做了同样的事情,而且似乎更容易使用(可能是因为熟悉)。另外,CountDownLatch的wait()和await()有什么区别?谢谢!编辑:我想我需要重新表述我的查询:Await()按照文档说:Causesthecurrentthreadtowaituntilthelatchhascounteddowntozero,unlessthethreadisinterrupted.对我来说,很难看出wait()和await()之间的区别-await()确实在幕后使用wait(),并且

java - 如何在多线程中使用等待和通知协议(protocol)

具体来说,有人能告诉我这段代码有什么问题吗?它应该启动线程,所以应该打印“Enteringthread..”5次,然后等待直到调用notifyAll()。但是,它随机打印“Entering..”和“Done..”并继续等待其他人。publicclassThreadTestimplementsRunnable{privateintnum;privatestaticObjectobj=newObject();ThreadTest(intn){num=n;}@Overridepublicvoidrun(){synchronized(obj){try{System.out.println("E

Java APNS(Apple 推送通知服务)错误

我正在尝试使用JavaAPNS(一个开源项目)向iPhone发送推送通知。不过,我收到一个错误。我使用了.pem文件作为证书。这应该是一个.p12文件吗?我不确定有什么区别,但我在网上某处看到这些文件格式之间存在差异。代码如下:ApnsServiceservice=APNS.newService().withCert("gpk.pem","XXXX").withSandboxDestination().build();Stringpayload=APNS.newPayload().alertBody("Can'tbesimplerthanthis!").build();Stringto

java - 我们可以使用 JMX 进行警报/通知吗

以下是我要尝试实现的规范简而言之:1)必须针对应用程序中的某些事件发送一些警报。2)这些警报有用户订阅。3)并且用户设置了自己的通知首选项(例如电子邮件和/或短信)。到目前为止,我还没有找到Java的开源解决方案。JMX通知是一个选项吗?我对JMX的了解越多,我就越觉得它正在尝试实现与我的问题不同的东西。任何帮助都是有用的。 最佳答案 JMX可以是解决这个问题的一种机制,但它不是完整的解决方案。JMX为您的程序提供设施和服务,以允许客户端访问监控数据以及允许客户端对应用程序进行控制调用。正如您所提到的,JMX的一个方面是通知系统。该

java - 当一个线程完成后,如何通知主线程?

我使用FTP原始命令将文件上传到FTP服务器,我在代码中启动了一个新线程通过套接字发送文件。当新启动的线程完成发送文件时,我想向控制台输出一些消息,如何确保线程已完成工作?这是我的代码:TinyFTPClientftp=newTinyFTPClient(host,port,user,pswd);ftp.execute("TYPEA");StringpasvReturn=ftp.execute("PASV");StringpasvHost=TinyFTPClient.parseAddress(pasvReturn);intpasvPort=TinyFTPClient.parsePort(

java - 当调用 thread.join() 时,谁以及何时通知 thread.wait()?

thread.join()将调用thread.wait(),但是谁以及何时通知(使用thread.notify()或notifyAll())thread.wait()?我们知道threadjoin会等待线程完成,但是谁调用notify呢? 最佳答案 关于jdk7forlinux,你可以从openjdk的源码中得到答案。/jdk7/hotspot/src/os/linux/vm/os_linux.cppintret=pthread_create(&tid,&attr,(void*(*)(void*))java_start,thread

java - 使用 Google Web Toolkit 播放声音通知

是否可以使用将被翻译成Javascript的GoogleWebToolkit播放声音通知?谢谢。 最佳答案 从GWT2.2开始,您可以使用com.google.gwt.media.client.Audio类播放音频。应用程序接口(interface):http://google-web-toolkit.googlecode.com/svn/javadoc/2.2/com/google/gwt/media/client/Audio.html示例:privateAudiomistakeAudio;{mistakeAudio=Audio.

java - 获取有关 Java 进程终止的通知

有一个控制台Java应用程序应该一直运行,直到被Ctrl+C停止或关闭控制台窗口。如何对该应用程序进行编程以在退出前执行清理代码? 最佳答案 你可以使用ShutdownHook.基本上您需要创建一个线程来执行您的关闭操作,然后additasashutdownhook.例如:classShutdownHookextendsThread{publicvoidrun(){//performshutdownactions}}//Then,somewhereinyourcodeRuntime.getRuntime().addShutdownH

java - Java 是否隐式通知等待线程?

我写了一个永远不会停止的测试应用程序。它发出t.wait()(t是一个Thread对象),但我从不调用通知。为什么这段代码结束?尽管主线程在t上同步,但生成的线程仍在运行,因此它不会锁定此对象。publicclassThreadWait{publicstaticvoidmain(StringsArgs[])throwsInterruptedException{System.out.println("hello");Threadt=newMyThread();synchronized(t){t.start();Thread.sleep(5000);t.wait();java.lang.S